<?php

class Login extends CI_Controller {

    function __construct() {
        parent::__construct(CI_Controller::$LOGIN);
        $this->load->model('User_model');
    }

    public function index()
    {
        $args['errorMsg'] = '';
        $args['title'] = 'Inicio de sesión';
        $this->load->view('login', $args);

    }

    
    public function validaLogin(){

        $this->form_validation->set_rules('user', 'Username', 'required');
        $this->form_validation->set_rules('pass', 'Password', 'required');

        $bool_movil = $this->input->post('bool_movil');
        
        if ($this->form_validation->run()){
            
            if ($bool_movil==true) {
                $user = $this->input->post('user');
                $pass = $this->input->post('pass');

               
                if (!$this->User_model->verify_details($user,$pass)) {
                    $this->session->set_flashdata('error',"Usuario o clave incorrectas");
                    redirect('login','refresh');
                }

                $usuarioLog = $this->User_model->buscarUsuario($user);
                $datospersona = $this->User_model->buscarDatosPersona($usuarioLog['Persona']);
                $data = array(
                    'username' => $usuarioLog['Usuario'] ,/*$user['username']*/
                    'persona' => $usuarioLog['Persona'],
                    'perfil' => $usuarioLog['Perfil'],
                    'nombre' => $usuarioLog['Nombre'],
                    'nombres' => $datospersona['Nombres'],
                    'apepaterno' => $datospersona['Apellido_Paterno'],
                    'apematerno' => $datospersona['Apellido_Materno'],
                    'logged_in' => TRUE
                );

                $this->session->set_userdata('logged_in',$data);

                redirect('home','refresh');
            }
            else if ($bool_movil==false) {
                $user = $this->input->post('user');
                $pass = $this->input->post('pass');


                if (!$this->User_model->verify_details($user,$pass)) {
                    $this->session->set_flashdata('error',"Usuario o clave incorrectas");
                    redirect('login','refresh');
                }

                $usuarioLog = $this->User_model->buscarUsuario($user);
                $datospersona = $this->User_model->buscarDatosPersona($usuarioLog['Persona']);

                $data = array(
                    'username' => $usuarioLog['Usuario'] ,/*$user['username']*/
                    'persona' => $usuarioLog['Persona'],
                    'perfil' => $usuarioLog['Perfil'],
                    'nombre' => $usuarioLog['Nombre'],                    
                    'nombres' => $datospersona['Nombres'],
                    'apepaterno' => $datospersona['Apellido_Paterno'],
                    'apematerno' => $datospersona['Apellido_Materno'],
                    'logged_in' => TRUE
                );

                $this->session->set_userdata('logged_in',$data);
                
                redirect('movil/main');
            }
        }
        else {
            $this->session->set_flashdata('error',"Debe ingresar su nombre y su password");
            redirect('login','refresh');
        }

        $this->load->view('login');
    }

    public function logout(){

        $this->session->sess_destroy();
        $this->session->unset_userdata('logged_in');
        $this->session->set_flashdata('error',"Usted ha sido deslogueado!");
        redirect('login','refresh');

    }

    
    public function olvidoContrasena(){

        $args['title'] = 'Recuperar mi Cuenta';
        $args['content'] = 'login/olvidoContrasena';
        $this->load->view('seguridad/olvidoContrasena',$args);
    }
    
    public function olvidoContrasena2(){

        $this->load->model('User_model');
        $args['title'] = 'Recuperar mi Cuenta';
        $args['content'] = 'login/olvidoContrasena2';
        $user = $this->input->post('usuario');
        $usuarioLog = $this->User_model->buscarUsuario2($user);
        $preguntas = $this->User_model->buscarPregunta();
         
        if ($usuarioLog==NULL) {
            $this->session->set_flashdata('error',"El usuario ingresado no existe");
            redirect('login/olvidoContrasena','refresh');
        }
        
        $args['usuarioLog'] = $usuarioLog[0];
        $args['pregunta'] = $usuarioLog[0]['Pregunta'];
        $args['respuesta'] = $usuarioLog[0]['Respuesta'];
        $args['preguntas'] = $preguntas;
        
       $this->load->view('seguridad/olvidoContrasena2',$args);
    }
    
    public function olvidoContrasena3($usuario){
        
        $args['title'] = 'Recuperar mi Cuenta';
        $args['content'] = 'login/olvidoContrasena3';
        $respuesta = $this->input->post('respuesta');
        $usuarioLog = $this->User_model->buscarUsuario2($usuario);
        if ($respuesta==$usuarioLog[0]['Respuesta']) {
            $this->User_model->cambiarContrasena($usuario);
            $this->load->view('seguridad/olvidoContrasena3',$args);
        } else {
            $this->session->set_flashdata('error',"La respuesta es incorrecta");
            redirect('login/olvidoContrasena2','refresh');
        }
        
    }
    
    public function cambiarContrasena(){
        
        $respuesta = $this->input->post('respuesta');
        $args['errorMsg'] = '';
        $args['title'] = 'Inicio de sesión';
        $this->load->view('login', $args);
        redirect('login','refresh');
    }
}

?>